package com.cn.dao.model;

import java.util.ArrayList;
import java.util.Date;

import com.cn.bean.SimpleList;

/**
 * FUN: 数据块
 *
 * @author sushy
 * @date 2016-3-23 
 */
public class DataBlock extends ArrayList<SimpleList>{
	private static final long serialVersionUID = -4602391222829579642L;

	private boolean isOutOfBounds(int index) {
		return (index < 0 || index >= size());
	}

	public long getLong(int i, int j) {
		if (isOutOfBounds(i)) {
			return 0;
		}
		return get(i).getLong(j);
	}

	public String getString(int i, int j) {
		if (isOutOfBounds(i)) {
			return null;
		}
		return get(i).getString(j);
	}

	public Date getDate(int i, int j) {
		if (isOutOfBounds(i)) {
			return null;
		}
		return get(i).getDate(j);
	}

	public void add(int i, int j, String value) {
		add(i, j, (Object) value);
	}

	public void add(int i, int j, long value) {
		add(i, j, (Object) value);
	}

	public void add(int i, int j, double value) {
		add(i, j, (Object) value);
	}

	public void add(int i, int j, Date value) {
		add(i, j, (Object) value);
	}

	private void add(int i, int j, Object value) {
		while (i >= size()) {
			add(new SimpleList());
		}

		SimpleList lst = get(i);
		while (j >= lst.size()) {
			lst.add(null);
		}
		lst.set(j, value);
	}

}
